package 力扣.二分;

public class 有序数组中最左边的元素 {
    /**
     * 【题目】给定一个有序数组，返回指定元素在数组的最左边的位置
     *
     * 输入：A = [1, 2, 2, 2, 2, 3, 3], target = 2
     * 输出：1
     *
     * 解释：第一个出现的 2 位于下标 1，是从左往右看时，第一个出现 2 的位置。
     */
    private int lowerBound(int[] nums,int target){
        if (nums == null || nums.length == 0){
            return 0;
        }
        int l = 0,r = nums.length;
        while (l < r){
            int mid = l + ((r - l) >> 1);
            if (mid < target){
                l = mid + 1;
            }else {
                r = mid;
            }
        }
        return l;
    }
}
